
// 信息定义
var huipuMessage = {

	"errorInputPassword" : "<span style='white-space:nowrap; '>密码必须为6-14位字符，至少包含字母、数字、符号中的两种，不含空格。</span>",

	/**
	 * 返回指定messageKey对应的message
	 * 
	 * @param messageKey
	 *            messageKey
	 * @param paramKey
	 *            参数KEY（字符串或字符串数组）
	 * @returns messageKey对应的message替换参数值后的message字符串
	 */
	getMessage : function(messageKey, paramKey) {
		var message = this.getMessageWithoutParam(messageKey);
		if ("null" === $.type(paramKey) || "undefined" === $.type(paramKey)) {
			return message;
		}
		if ($.isArray(paramKey)) {
			$.each(paramKey, function(index, value) {
				var paramValue = huipuMessage.getMessageWithoutParam(value);
				message = message.replace("{" + index + "}", paramValue);
			});
			return message;
		} else {
			return message.replace("{0}", this.getMessageWithoutParam(paramKey));
		}
	},

	/**
	 * 返回指定messageKey对应的message
	 * 
	 * @param messageKey
	 *            messageKey
	 * @returns messageKey对应的message,messageKey不存在时直接返回该messageKey
	 */
	getMessageWithoutParam : function(messageKey) {
		var message = $(this).attr(messageKey);
		if ("null" === $.type(message) || "undefined" === $.type(message)) {
			return messageKey;
		}
		return message;
	}
};

/**
 * 处理Ajax响应中的错误信息
 */
function handleAjaxResponseError(jsonResponse) {
	if (!jsonResponse.success) {
		var msgAll = getResultMsg(jsonResponse);
		if ("" != msgAll) {
			HPCEDialogError(msgAll);
		}
	}
}

function getResultMsg(jsonResponse) {
	var msgAll = "";
	if ($.isArray(jsonResponse.errorMessages)) {
		$.each(jsonResponse.errorMessages, function(index, msg) {
			var msgKey = msg.msg;
			var params = msg.itemParam;
			if (index == 0)
				msgAll += huipuMessage.getMessage(msgKey, params);
			else
				msgAll += "<br />" + huipuMessage.getMessage(msgKey, params);
		});
	}
	return msgAll;
}
/**
 * 处理Ajax请求错误
 */
function handleAjaxRequestError(request) {
	if (request.status === 0 || request.readyState === 0) {
		return;
	}
	if (request.status == '401') {
		// 未认证或认证过期
		HPCEDialogAlert(huipuMessage.getMessage("errorNotAuthenticated"), redirectToLoginPage);
	} else if (request.status == '999') {
		top.window.location.href = basePath + "error/duplicateLogin.shtml";
	} else if (request.status == '502') {
		HPCEDialogAlert('连接服务器异常');
	} else {
		HPCEDialogAlert(huipuMessage.getMessage("errorAjaxRequest", request.statusText + " (" + request.status + ")."));
	}
}


//封装一下对话框的方法
function HPCEDialogError(msg) {
	dialog({
		title : '提示',
		content : msg,
		okValue : '确定',
		ok : function() {
		}
	}).showModal();
}

/**
 * 转换日期对象为日期字符串
 * 
 * @param date
 *            日期对象
 * @param isFull
 *            是否为完整的日期数据, 为true时, 格式如"2000-03-05 01:05:04" 为false时, 格式如
 *            "2000-03-05"
 * @return 符合要求的日期字符串
 */
function getSmpFormatDate(date, isFull) {
	var pattern = "";
	if (isFull == true || isFull == undefined) {
		pattern = "yyyy-MM-dd HH:mm:ss";
	} else {
		pattern = "yyyy-MM-dd";
	}
	return getFormatDate(date, pattern);
}
/**
 * 转换当前日期对象为日期字符串
 * 
 * @param date
 *            日期对象
 * @param isFull
 *            是否为完整的日期数据, 为true时, 格式如"2000-03-05 01:05:04" 为false时, 格式如
 *            "2000-03-05"
 * @return 符合要求的日期字符串
 */
function getSmpFormatNowDate(isFull) {
	return getSmpFormatDate(new Date(), isFull);
}